#include "asm.h"
#include "regdef.h"
#include "inst_test.h"

LEAF(n4_sub_w_test)
    
    addi.w s0, s0 ,1
    li     s2, 0x00
###test inst
    TEST_SUB_W(0xd6fc0584, 0x5f9765a8, 0x77649fdc)
    TEST_SUB_W(0xbf9c95c2, 0x3368890e, 0x8c340cb4)
    TEST_SUB_W(0xda67a888, 0xa727b830, 0x333ff058)
    TEST_SUB_W(0x23858808, 0x657a98bc, 0xbe0aef4c)
    TEST_SUB_W(0x040ae1f0, 0x4eff0fe8, 0xb50bd208)
    TEST_SUB_W(0x45c9e968, 0xbaecca18, 0x8add1f50)
    TEST_SUB_W(0x541bce6c, 0xe3eeb018, 0x702d1e54)
    TEST_SUB_W(0x02825068, 0xa1de973a, 0x60a3b92e)
    TEST_SUB_W(0xf8c113c0, 0x052ce450, 0xf3942f70)
    TEST_SUB_W(0x96868792, 0xd109051c, 0xc57d8276)
    TEST_SUB_W(0xf53c6d68, 0xc1c46588, 0x337807e0)
    TEST_SUB_W(0x15f9b790, 0xd2e20d27, 0x4317aa69)
    TEST_SUB_W(0xdd8a4223, 0x350d15c0, 0xa87d2c63)
    TEST_SUB_W(0x8f31c286, 0x2ceae250, 0x6246e036)
    TEST_SUB_W(0x75c83600, 0x32f94254, 0x42cef3ac)
    TEST_SUB_W(0x423723c4, 0x7aa165d0, 0xc795bdf4)
    TEST_SUB_W(0x32e571f0, 0xbaecc1ac, 0x77f8b044)
    TEST_SUB_W(0xc5d06600, 0x91611ea8, 0x346f4758)
    TEST_SUB_W(0x00c60432, 0x98b25356, 0x6813b0dc)
    TEST_SUB_W(0x18a11fa1, 0xdde917e4, 0x3ab807bd)
    TEST_SUB_W(0xc5005fc8, 0xe132c555, 0xe3cd9a73)
    TEST_SUB_W(0xb3719000, 0x369995a3, 0x7cd7fa5d)
    TEST_SUB_W(0xc334c06c, 0x95e84978, 0x2d4c76f4)
    TEST_SUB_W(0xebdf0650, 0xf6251700, 0xf5b9ef50)
    TEST_SUB_W(0x8343a5d0, 0x5a87c844, 0x28bbdd8c)
    TEST_SUB_W(0x6b53ec00, 0x0f8d3793, 0x5bc6b46d)
    TEST_SUB_W(0xafeb38c2, 0x4ad9906c, 0x6511a856)
    TEST_SUB_W(0xd6772c6c, 0xa1cf2440, 0x34a8082c)
    TEST_SUB_W(0xd593ae94, 0x8e0bc704, 0x4787e790)
    TEST_SUB_W(0x7e429d08, 0x331dd000, 0x4b24cd08)
    TEST_SUB_W(0x0f80fb92, 0xe9344e60, 0x264cad32)
    TEST_SUB_W(0xe875e234, 0x0d1e885c, 0xdb5759d8)
    TEST_SUB_W(0x6f5f8dd7, 0x65931578, 0x09cc785f)
    TEST_SUB_W(0x7675c428, 0x90bdfbb0, 0xe5b7c878)
    TEST_SUB_W(0xa915ba2f, 0x0917c008, 0x9ffdfa27)
    TEST_SUB_W(0x9194ded8, 0x7cca603c, 0x14ca7e9c)
    TEST_SUB_W(0x19344280, 0x921db4d2, 0x87168dae)
    TEST_SUB_W(0xb17c33ec, 0x98e7f1c8, 0x18944224)
    TEST_SUB_W(0xf05dec60, 0xd3d05b00, 0x1c8d9160)
    TEST_SUB_W(0x8be2ec4e, 0x2f1e8ff6, 0x5cc45c58)
    TEST_SUB_W(0x5e69e280, 0x6b1cb358, 0xf34d2f28)
    TEST_SUB_W(0x23b4e63e, 0x01cb27a8, 0x21e9be96)
    TEST_SUB_W(0x73a2f524, 0x13424cfd, 0x6060a827)
    TEST_SUB_W(0xaf2ddbd0, 0xa7c8a588, 0x07653648)
    TEST_SUB_W(0x40bccb24, 0xd51ea0e8, 0x6b9e2a3c)
    TEST_SUB_W(0xd55f1d58, 0xebcbf0d8, 0xe9932c80)
    TEST_SUB_W(0x40007d14, 0x73b40222, 0xcc4c7af2)
    TEST_SUB_W(0x4c8d32a0, 0xc29f112c, 0x89ee2174)
    TEST_SUB_W(0x5190e68a, 0x7c96b13c, 0xd4fa354e)
    TEST_SUB_W(0x6c659034, 0xaee0b7cc, 0xbd84d868)
    TEST_SUB_W(0xbe3903d0, 0x0375ed52, 0xbac3167e)
    TEST_SUB_W(0xf8ecec8d, 0x6ecabe4b, 0x8a222e42)
    TEST_SUB_W(0x1836ae30, 0x91e3d038, 0x8652ddf8)
    TEST_SUB_W(0xad52af54, 0x8db84360, 0x1f9a6bf4)
    TEST_SUB_W(0x4117ea50, 0xd5b6bf90, 0x6b612ac0)
    TEST_SUB_W(0x6b140b9e, 0x09d53740, 0x613ed45e)
    TEST_SUB_W(0x45d3b555, 0xee9f1b40, 0x57349a15)
    TEST_SUB_W(0x68f8ee5b, 0x2b20c916, 0x3dd82545)
    TEST_SUB_W(0xaca702e6, 0x0e8f0170, 0x9e180176)
    TEST_SUB_W(0x5b20ef94, 0x14f62c69, 0x462ac32b)
    TEST_SUB_W(0x49139100, 0x3f3cb630, 0x09d6dad0)
    TEST_SUB_W(0xee440f3c, 0xdd85e334, 0x10be2c08)
    TEST_SUB_W(0xf44f8ae0, 0x9f66ac00, 0x54e8dee0)
    TEST_SUB_W(0x58ff0bd0, 0xc6789a58, 0x92867178)
    TEST_SUB_W(0x3a6a59dd, 0xa85759f4, 0x9212ffe9)
    TEST_SUB_W(0x720a6644, 0xda5b3a4a, 0x97af2bfa)
    TEST_SUB_W(0x4b26bda0, 0xe7a23c38, 0x63848168)
    TEST_SUB_W(0x54c90300, 0x59bcdc53, 0xfb0c26ad)
    TEST_SUB_W(0x587112f8, 0x216a7f8a, 0x3706936e)
    TEST_SUB_W(0x2ab54d0e, 0x90f7c654, 0x99bd86ba)
    TEST_SUB_W(0x93f64860, 0xeeaaa800, 0xa54ba060)
    TEST_SUB_W(0x947e3bc0, 0xd101721c, 0xc37cc9a4)
    TEST_SUB_W(0x08b05218, 0xf7df14c0, 0x10d13d58)
    TEST_SUB_W(0x8b990582, 0xb45eca88, 0xd73a3afa)
    TEST_SUB_W(0x54a09c60, 0xf065ff59, 0x643a9d07)
    TEST_SUB_W(0x02a4e3d2, 0x5ca75800, 0xa5fd8bd2)
    TEST_SUB_W(0x7102c503, 0x458eeabf, 0x2b73da44)
    TEST_SUB_W(0x84930c00, 0xf5c04224, 0x8ed2c9dc)
    TEST_SUB_W(0xe1f55702, 0x41fc2a68, 0x9ff92c9a)
    TEST_SUB_W(0xfe1b55e2, 0x44d4b784, 0xb9469e5e)
    TEST_SUB_W(0xa8c699f8, 0x4056c3a8, 0x686fd650)
    TEST_SUB_W(0xe6e6ad02, 0x06c3f8bc, 0xe022b446)
    TEST_SUB_W(0xf30570c0, 0x2fd86c00, 0xc32d04c0)
    TEST_SUB_W(0x6addb000, 0x72ddf116, 0xf7ffbeea)
    TEST_SUB_W(0x005a4666, 0x87aa08e6, 0x78b03d80)
    TEST_SUB_W(0x92c34fdc, 0xeed15158, 0xa3f1fe84)
    TEST_SUB_W(0xb9253436, 0x123d5420, 0xa6e7e016)
    TEST_SUB_W(0xd65e56b0, 0xab980008, 0x2ac656a8)
    TEST_SUB_W(0xac7c059e, 0x52dc4fa0, 0x599fb5fe)
    TEST_SUB_W(0xbc07d9da, 0xad7bbcec, 0x0e8c1cee)
    TEST_SUB_W(0x6b4e6d00, 0xae146cf7, 0xbd3a0009)
    TEST_SUB_W(0x63379060, 0x19bd810e, 0x497a0f52)
    TEST_SUB_W(0x904e0384, 0xaa67e29c, 0xe5e620e8)
    TEST_SUB_W(0x79cc8db2, 0x9ae399aa, 0xdee8f408)
    TEST_SUB_W(0xce51dd0c, 0x1836ad40, 0xb61b2fcc)
    TEST_SUB_W(0xea3bf860, 0x0248a513, 0xe7f3534d)
    TEST_SUB_W(0x40d4aa2a, 0xd4dacd6f, 0x6bf9dcbb)
    TEST_SUB_W(0x53e3d700, 0x4f33d300, 0x04b00400)
    TEST_SUB_W(0x30b8cba6, 0x3e29f09e, 0xf28edb08)
    TEST_SUB_W(0xf4af2845, 0x55654200, 0x9f49e645)
    TEST_SUB_W(0xcb0be8f8, 0x347365c8, 0x96988330)
    TEST_SUB_W(0x692e1180, 0xc188d6a0, 0xa7a53ae0)
    TEST_SUB_W(0xfe94aaa8, 0xef27122e, 0x0f6d987a)
    TEST_SUB_W(0xa1f36ec0, 0x66693db2, 0x3b8a310e)
    TEST_SUB_W(0xae2fb728, 0x4d617672, 0x60ce40b6)
    TEST_SUB_W(0x9ba7b6e2, 0x1ebf8890, 0x7ce82e52)
    TEST_SUB_W(0x60efd1c4, 0x0fe2f390, 0x510cde34)
    TEST_SUB_W(0x31c98f88, 0xbbc3d688, 0x7605b900)
    TEST_SUB_W(0xd8917445, 0x6589f460, 0x73077fe5)
    TEST_SUB_W(0x25b45134, 0xad5b3f8c, 0x785911a8)
    TEST_SUB_W(0x34b0d278, 0xa4176f7b, 0x909962fd)
    TEST_SUB_W(0x1b1bd5d9, 0xe9aeb1a4, 0x316d2435)
    TEST_SUB_W(0xcf4b10b0, 0x9124ed88, 0x3e262328)
    TEST_SUB_W(0xcb8fcc08, 0x8ad99afc, 0x40b6310c)
    TEST_SUB_W(0x52febbe8, 0xb0ddef40, 0xa220cca8)
    TEST_SUB_W(0x7cb21da2, 0xa937c0c0, 0xd37a5ce2)
    TEST_SUB_W(0xc5d6ae80, 0xe29c8ce0, 0xe33a21a0)
    TEST_SUB_W(0xd8cd85fa, 0x81cd3d40, 0x570048ba)
    TEST_SUB_W(0x581b8e64, 0xfddfc888, 0x5a3bc5dc)
    TEST_SUB_W(0x679aa14d, 0x2f25362d, 0x38756b20)
    TEST_SUB_W(0xc1be0410, 0x0f370c48, 0xb286f7c8)
    TEST_SUB_W(0xdf8e9f1c, 0x207f75b4, 0xbf0f2968)
    TEST_SUB_W(0x06f7c99b, 0x62176344, 0xa4e06657)
    TEST_SUB_W(0x5530a5a0, 0x04578103, 0x50d9249d)
    TEST_SUB_W(0xd4038ae4, 0x7baa4c78, 0x58593e6c)
    TEST_SUB_W(0x8cd5df00, 0x555f05db, 0x3776d925)
    TEST_SUB_W(0x02d85838, 0xf3975d44, 0x0f40faf4)
    TEST_SUB_W(0x4947f4c0, 0x116bb2bc, 0x37dc4204)
    TEST_SUB_W(0xc3205480, 0xf3575cd8, 0xcfc8f7a8)
    TEST_SUB_W(0x3f89ff18, 0xf4ff96f8, 0x4a8a6820)
    TEST_SUB_W(0x91baea53, 0x79f6c5c8, 0x17c4248b)
    TEST_SUB_W(0xb55f972a, 0xa609a5e0, 0x0f55f14a)
    TEST_SUB_W(0xc690f86f, 0x820c54b9, 0x4484a3b6)
    TEST_SUB_W(0xc1e0ac00, 0xcc9a2edb, 0xf5467d25)
    TEST_SUB_W(0xf1b1b086, 0x1724c0ca, 0xda8cefbc)
    TEST_SUB_W(0xbfe467d8, 0x90e60dcf, 0x2efe5a09)
    TEST_SUB_W(0x88afa220, 0x884e3c40, 0x006165e0)
    TEST_SUB_W(0xee2b3d28, 0x8b26d1e7, 0x63046b41)
    TEST_SUB_W(0xb4ad54be, 0x44a2c3c2, 0x700a90fc)
    TEST_SUB_W(0xc4f4a100, 0xe32f2978, 0xe1c57788)
    TEST_SUB_W(0x9c7e895a, 0x327b164c, 0x6a03730e)
    TEST_SUB_W(0x88b98036, 0xa0c09c10, 0xe7f8e426)
    TEST_SUB_W(0x78b54804, 0x2de3d8b4, 0x4ad16f50)
    TEST_SUB_W(0xe404ea90, 0x493a8a98, 0x9aca5ff8)
    TEST_SUB_W(0x4241cf80, 0xb86f2a7c, 0x89d2a504)
    TEST_SUB_W(0x0af82928, 0x60de6812, 0xaa19c116)
    TEST_SUB_W(0xaab51132, 0xf37e9454, 0xb7367cde)
    TEST_SUB_W(0xc7b874cc, 0xe63fca48, 0xe178aa84)
    TEST_SUB_W(0xf4619868, 0x8bcb2368, 0x68967500)
    TEST_SUB_W(0x2c6188e8, 0x8e6f7f98, 0x9df20950)
    TEST_SUB_W(0x4140a430, 0xec8c59ce, 0x54b44a62)
    TEST_SUB_W(0x35137460, 0x438c3e80, 0xf18735e0)
    TEST_SUB_W(0x8bc85fd0, 0x951efe00, 0xf6a961d0)
    TEST_SUB_W(0xae31f1ac, 0xf4756000, 0xb9bc91ac)
    TEST_SUB_W(0x524283d0, 0x6d995d14, 0xe4a926bc)
    TEST_SUB_W(0x644935e0, 0xaf2a427e, 0xb51ef362)
    TEST_SUB_W(0x3892da96, 0x64e0c4c0, 0xd3b215d6)
    TEST_SUB_W(0x7853ba40, 0xf6021480, 0x8251a5c0)
    TEST_SUB_W(0xe0743f35, 0x93b85350, 0x4cbbebe5)
    TEST_SUB_W(0xa06af7a0, 0x87a327e6, 0x18c7cfba)
    TEST_SUB_W(0x34275f06, 0x05f4e400, 0x2e327b06)
    TEST_SUB_W(0xb0f7100a, 0x2ef6b86c, 0x8200579e)
    TEST_SUB_W(0x7b879000, 0x18203584, 0x63675a7c)
    TEST_SUB_W(0x6ab02470, 0x891b26ff, 0xe194fd71)
    TEST_SUB_W(0x2b681478, 0xf4fe93a8, 0x366980d0)
    TEST_SUB_W(0x3bd59120, 0x76e9cc2c, 0xc4ebc4f4)
    TEST_SUB_W(0x4d0a1d00, 0x44fdbcc0, 0x080c6040)
    TEST_SUB_W(0xfb2cbab0, 0x46f63e58, 0xb4367c58)
    TEST_SUB_W(0x77abdbef, 0x9db5bb31, 0xd9f620be)
    TEST_SUB_W(0x70c2c980, 0xf071d8c7, 0x8050f0b9)
    TEST_SUB_W(0xb13a2182, 0x9099d9f0, 0x20a04792)
    TEST_SUB_W(0x476d21c0, 0x2dfd7322, 0x196fae9e)
    TEST_SUB_W(0x1906e980, 0xde2ba7c1, 0x3adb41bf)
    TEST_SUB_W(0x78ac02fa, 0x023bf9ac, 0x7670094e)
    TEST_SUB_W(0x7c7cdb40, 0xc08190dc, 0xbbfb4a64)
    TEST_SUB_W(0xb5a543c7, 0x6fd32de2, 0x45d215e5)
    TEST_SUB_W(0xaeef3248, 0xfc4c87f0, 0xb2a2aa58)
    TEST_SUB_W(0x9e6b8bde, 0x8b4c53ac, 0x131f3832)
    TEST_SUB_W(0xec130070, 0x92118900, 0x5a017770)
    TEST_SUB_W(0x536945b7, 0x22bd0eb0, 0x30ac3707)
    TEST_SUB_W(0x6cd67d7c, 0x0681f3f1, 0x6654898b)
    TEST_SUB_W(0xaaad7566, 0x66f3d400, 0x43b9a166)
    TEST_SUB_W(0x2a60be07, 0xb8d2339c, 0x718e8a6b)
    TEST_SUB_W(0xb8672c5a, 0x82295036, 0x363ddc24)
    TEST_SUB_W(0xdb105dac, 0x0fd48120, 0xcb3bdc8c)
    TEST_SUB_W(0x26398420, 0xab432e4a, 0x7af655d6)
    TEST_SUB_W(0x1ac80bd0, 0x1678bda8, 0x044f4e28)
    TEST_SUB_W(0xf727a30e, 0xab1f90f0, 0x4c08121e)
    TEST_SUB_W(0x0178bb00, 0x6ca8f6d0, 0x94cfc430)
    TEST_SUB_W(0x55d0ca5e, 0x2e56c9b4, 0x277a00aa)
    TEST_SUB_W(0x8d99ae61, 0xce4ace70, 0xbf4edff1)
    TEST_SUB_W(0xe2395b00, 0x7673d91e, 0x6bc581e2)
    TEST_SUB_W(0x0ddc4158, 0x457300c1, 0xc8694097)
    TEST_SUB_W(0xfa4f9448, 0xdec8ed78, 0x1b86a6d0)
    TEST_SUB_W(0xf265977c, 0x3058ce5e, 0xc20cc91e)
    TEST_SUB_W(0xbd4e2324, 0x921cd211, 0x2b315113)
    TEST_SUB_W(0xee98daa2, 0x06fd03d4, 0xe79bd6ce)
    TEST_SUB_W(0x37e6752c, 0x6bd739d8, 0xcc0f3b54)
    TEST_SUB_W(0xaf0de020, 0x951f9e72, 0x19ee41ae)
    TEST_SUB_W(0x8178e270, 0xc20617d6, 0xbf72ca9a)
    TEST_SUB_W(0x99e836ec, 0x00000000, 0x99e836ec)
    TEST_SUB_W(0xf706b614, 0x00000000, 0xf706b614)
    TEST_SUB_W(0x227c7b80, 0x00000000, 0x227c7b80)
    TEST_SUB_W(0x9fbf4b5f, 0x00000000, 0x9fbf4b5f)
    TEST_SUB_W(0x258a29f8, 0x00000000, 0x258a29f8)
    TEST_SUB_W(0xdb5361c0, 0x00000000, 0xdb5361c0)
    TEST_SUB_W(0x80499d50, 0x00000000, 0x80499d50)
    TEST_SUB_W(0xd2dfb800, 0x00000000, 0xd2dfb800)
    TEST_SUB_W(0x06180480, 0x00000000, 0x06180480)
    TEST_SUB_W(0xdbaea9be, 0x00000000, 0xdbaea9be)
    TEST_SUB_W(0x63373704, 0x00000000, 0x63373704)
    TEST_SUB_W(0x4d078b90, 0x00000000, 0x4d078b90)
    TEST_SUB_W(0x43a92170, 0x00000000, 0x43a92170)
    TEST_SUB_W(0xaabce49c, 0x00000000, 0xaabce49c)
    TEST_SUB_W(0x7282c1cc, 0x00000000, 0x7282c1cc)
    TEST_SUB_W(0x9e7f1b26, 0x00000000, 0x9e7f1b26)
    TEST_SUB_W(0xd30c75ac, 0x00000000, 0xd30c75ac)
    TEST_SUB_W(0xc56705ac, 0x00000000, 0xc56705ac)
    TEST_SUB_W(0x1603be38, 0x00000000, 0x1603be38)
    TEST_SUB_W(0x5ceba56b, 0x00000000, 0x5ceba56b)
    TEST_SUB_W(0xdc217454, 0x00000000, 0xdc217454)
    TEST_SUB_W(0x7ce9a074, 0x00000000, 0x7ce9a074)
    TEST_SUB_W(0x42ed9a50, 0x00000000, 0x42ed9a50)
    TEST_SUB_W(0x3e5f5070, 0x00000000, 0x3e5f5070)
    TEST_SUB_W(0xfd051ed8, 0x00000000, 0xfd051ed8)
    TEST_SUB_W(0x93a46950, 0x00000000, 0x93a46950)
    TEST_SUB_W(0xbb52cb2a, 0x00000000, 0xbb52cb2a)
    TEST_SUB_W(0x845d9f04, 0x00000000, 0x845d9f04)
    TEST_SUB_W(0xe6f68ef4, 0x00000000, 0xe6f68ef4)
    TEST_SUB_W(0xe0ad123c, 0x00000000, 0xe0ad123c)
    TEST_SUB_W(0x670c0b90, 0x00000000, 0x670c0b90)
    TEST_SUB_W(0x68de2150, 0x00000000, 0x68de2150)
    TEST_SUB_W(0xeda00485, 0x00000000, 0xeda00485)
    TEST_SUB_W(0x0ed8b604, 0x00000000, 0x0ed8b604)
    TEST_SUB_W(0x84334a18, 0x00000000, 0x84334a18)
    TEST_SUB_W(0x4b349a7c, 0x00000000, 0x4b349a7c)
    TEST_SUB_W(0x79190680, 0x00000000, 0x79190680)
    TEST_SUB_W(0xddf9e7f4, 0x00000000, 0xddf9e7f4)
    TEST_SUB_W(0xe573dcfc, 0x00000000, 0xe573dcfc)
    TEST_SUB_W(0xd6d149e8, 0x00000000, 0xd6d149e8)
    TEST_SUB_W(0x3346f600, 0x00000000, 0x3346f600)
    TEST_SUB_W(0x8f63d87a, 0x00000000, 0x8f63d87a)
    TEST_SUB_W(0x3ef8af4a, 0x00000000, 0x3ef8af4a)
    TEST_SUB_W(0xddc9fd94, 0x00000000, 0xddc9fd94)
    TEST_SUB_W(0x5f24f000, 0x00000000, 0x5f24f000)
    TEST_SUB_W(0xf1daa803, 0x00000000, 0xf1daa803)
    TEST_SUB_W(0x11f0cdac, 0x00000000, 0x11f0cdac)
    TEST_SUB_W(0x3d56de10, 0x00000000, 0x3d56de10)
    TEST_SUB_W(0x832e7720, 0x00000000, 0x832e7720)
    TEST_SUB_W(0x6f6a3b6b, 0x00000000, 0x6f6a3b6b)
    TEST_SUB_W(0x00000000, 0x3f7b9fa8, 0xc0846058)
    TEST_SUB_W(0x00000000, 0xf4e857f7, 0x0b17a809)
    TEST_SUB_W(0x00000000, 0x1d3e874c, 0xe2c178b4)
    TEST_SUB_W(0x00000000, 0x6060a4d0, 0x9f9f5b30)
    TEST_SUB_W(0x00000000, 0xad026220, 0x52fd9de0)
    TEST_SUB_W(0x00000000, 0x421f85b0, 0xbde07a50)
    TEST_SUB_W(0x00000000, 0x718bb2c8, 0x8e744d38)
    TEST_SUB_W(0x00000000, 0x5b84ec9f, 0xa47b1361)
    TEST_SUB_W(0x00000000, 0xf8b5462f, 0x074ab9d1)
    TEST_SUB_W(0x00000000, 0x8b91706c, 0x746e8f94)
    TEST_SUB_W(0x00000000, 0x445c6544, 0xbba39abc)
    TEST_SUB_W(0x00000000, 0x1d344e02, 0xe2cbb1fe)
    TEST_SUB_W(0x00000000, 0x4cc33600, 0xb33cca00)
    TEST_SUB_W(0x00000000, 0x05174cf8, 0xfae8b308)
    TEST_SUB_W(0x00000000, 0x68c6ea90, 0x97391570)
    TEST_SUB_W(0x00000000, 0xad4237d0, 0x52bdc830)
    TEST_SUB_W(0x00000000, 0x5e60f5d4, 0xa19f0a2c)
    TEST_SUB_W(0x00000000, 0x02ab610e, 0xfd549ef2)
    TEST_SUB_W(0x00000000, 0x95d92f0a, 0x6a26d0f6)
    TEST_SUB_W(0x00000000, 0x60d51e10, 0x9f2ae1f0)
    TEST_SUB_W(0x00000000, 0xdae9ff00, 0x25160100)
    TEST_SUB_W(0x00000000, 0x87cd34c0, 0x7832cb40)
    TEST_SUB_W(0x00000000, 0x62dfd480, 0x9d202b80)
    TEST_SUB_W(0x00000000, 0x7970a300, 0x868f5d00)
    TEST_SUB_W(0x00000000, 0xc41ac2fa, 0x3be53d06)
    TEST_SUB_W(0x00000000, 0x75945b52, 0x8a6ba4ae)
    TEST_SUB_W(0x00000000, 0xfa224c10, 0x05ddb3f0)
    TEST_SUB_W(0x00000000, 0x14b8e1e4, 0xeb471e1c)
    TEST_SUB_W(0x00000000, 0xe6f12280, 0x190edd80)
    TEST_SUB_W(0x00000000, 0xb8ccbfa1, 0x4733405f)
    TEST_SUB_W(0x00000000, 0x6734c0a8, 0x98cb3f58)
    TEST_SUB_W(0x00000000, 0xcd2c7e01, 0x32d381ff)
    TEST_SUB_W(0x00000000, 0xda891a33, 0x2576e5cd)
    TEST_SUB_W(0x00000000, 0xe06bc618, 0x1f9439e8)
    TEST_SUB_W(0x00000000, 0xaeb22000, 0x514de000)
    TEST_SUB_W(0x00000000, 0x02fad700, 0xfd052900)
    TEST_SUB_W(0x00000000, 0x97552b80, 0x68aad480)
    TEST_SUB_W(0x00000000, 0x490e5b20, 0xb6f1a4e0)
    TEST_SUB_W(0x00000000, 0x37105fe8, 0xc8efa018)
    TEST_SUB_W(0x00000000, 0xae9d4fa0, 0x5162b060)
    TEST_SUB_W(0x00000000, 0x918f373c, 0x6e70c8c4)
    TEST_SUB_W(0x00000000, 0x0191739e, 0xfe6e8c62)
    TEST_SUB_W(0x00000000, 0xa6af26a4, 0x5950d95c)
    TEST_SUB_W(0x00000000, 0xe51c0be4, 0x1ae3f41c)
    TEST_SUB_W(0x00000000, 0x219c7300, 0xde638d00)
    TEST_SUB_W(0x00000000, 0x46be064a, 0xb941f9b6)
    TEST_SUB_W(0x00000000, 0xae77d814, 0x518827ec)
    TEST_SUB_W(0x00000000, 0x8e25e370, 0x71da1c90)
    TEST_SUB_W(0x00000000, 0x1b425f40, 0xe4bda0c0)
    TEST_SUB_W(0x00000000, 0xb4073a78, 0x4bf8c588)
    TEST_SUB_W(0x00000000, 0x00000000, 0x00000000)
###detect exception
    bne s2, zero, inst_error
    nop
###score ++
    addi.w s3, s3, 1
###output (s0<<24)|s3
inst_error:  
    slli.w t1, s0, 24
    NOP4
    or t0, t1, s3 
    NOP4
    st.w t0, s1, 0
    jirl zero, ra, 0
    nop
END(n4_sub_w_test)
